# 流体の煙と炎を作成する

次のステップでは、geo_slag ポリゴン オブジェクトのサーフェスから放出される 3D 流体オブジェクトを作成します。

3D 流体コンテナを作成するには

1. 流体 > 3D コンテナ(Fluids > 3D Container) > を選択します。
2. エミッタ付き 3D コンテナの作成オプション(Create 3D Container with Emitter Options)ウィンドウで、編集 > 設定のリセット(Edit > Reset Settings)を選択し、X、Y、Z 解像度の値が 10 になっていることを確認します。

   流体解像度の値を既定値の 10 のままにしておくと、流体をすばやくシミュレートできます。レッスンの後半では、解像度の値を大きくしてエフェクトの精度と全体的な外観を向上させます。

3. エミッタの追加(Add Emitter)をオフにします。

   このオプションは、基本的な流体アトリビュート(Basic Fluid Attributes)と基本エミッタ アトリビュート(Basic Emitter Attributes)の間にあります。

4. 適用して閉じる(Apply and Close)をクリックします。
5. アウトライナ(Outliner)で、fluid1 オブジェクトの名前を fluid_slag_smoke に変更します。
6. コンテナをスラグ シュートの最上部に配置するには、アトリビュート エディタ(Attribute Editor)で fluid_slag_smoke タブをクリックします。
7. トランスフォーム アトリビュート(Transform Attributes)セクションで、移動(Translate)値を次のように設定します。
   - X: -7.0
   - Y: 16
   - Z: -1

   この移動(Translate)値により、流体コンテナがスラグ シュートの最上部に配置されます。これでエミッタを流体コンテナに追加できるようになりました。

流体をスラグ メッシュから放出するには

1. アウトライナ(Outliner)で、Ctrl キーを押しながら fluid_slag_smoke と geo_slag をクリックし、流体 > コンテンツの追加/編集 > オブジェクトから放出(Fluids > Add/Edit Contents > Emit from Object) > を選択します。
2. 表示されるオブジェクトから放出オプション(Emit from Objects Options)ウィンドウで、編集 > 設定のリセット(Edit > Reset Settings)を選択し、次のように設定します。
   - エミッタ名(Emitter name)に emitter_slag_smoke と入力します。
   - 基本エミッタ アトリビュート(Basic Emitter Attributes)セクションで、エミッタ タイプ(Emitter type)をサーフェス(Surface)に設定します。
3. 適用して閉じる(Apply and Close)をクリックします。
4. シミュレーションを巻き戻して再生します。

   流体はスラグ メッシュから放出されていますが、スラグが流体コンテナを通り過ぎる間しか放出されていません。サイズ自動変更(Auto Resize)をオンにすると、流体がスラグ メッシュから放出されるときに、流体コンテナがスラグ メッシュに追従できるようになります。

5. アウトライナ(Outliner)で fluid_slag_smoke を選択し、アトリビュート エディタ(Attribute Editor)で fluid_slag_smokeShape タブに切り替えます。
6. サイズ自動変更(Auto Resize)セクションで、サイズ自動変更(Auto Resize)をオンにします。
7. シミュレーションを巻き戻して再生します。

   これで流体コンテナのサイズが変更されて、スラグの動きに追従するようになりました。サイズ自動変更(Auto Resize)がオンの場合、流体の密度の増減に応じて、流体コンテナの境界(サイズ(Size)と解像度(Resolution))のサイズがダイナミックに変更されます。サイズ自動変更(Auto Resize)は、流体コンテナを比較的小さい状態に保つため、ミサイルの噴射煙の軌跡や爆発で巻き上がる煙などのすばやく移動する流体エフェクトに非常に効果的です。

   サイズ自動変更(Auto Resize)をオンにすると、シミュレーションの速度が上がってメモリの使用量を低減できるため、流体キャッシュ ファイルが小さくなり、流体のレンダー時間も短縮されます。

   流体の外観や動作が煙や炎のように見えないことに注目してください。エフェクトを改良するために、次の操作を実行します。

   - 流体の放出率を下げて、流体がより低い密度と温度でコンテナに放出されるようにします。これにより、エフェクトに適したかすかな煙が作成されます。
   - 密度の損失(Dissipation)アトリビュートを調整して、煙が放出後に徐々に消えていくようにします。このエフェクトでは、煙の密度はすぐに消えるようにする必要があります。

## 流体の放出を調整する

レッスンのこのセクションでは、流体コンテンツがコンテナに放出される方法をコントロールするアトリビュートを設定します。このエフェクトでは、密度(Density)と熱(Heat)がコンテナに放出されます。流体に渦モーションを追加するために、乱気流(Turbulence)も追加します。

流体エフェクトの詳細については、Maya ヘルプの「流体エフェクト」セクションを参照してください。

流体の放出を調整するには

1. アトリビュート エディタ(Attribute Editor)で emitter_slag_smoke タブをクリックします。

   流体を選択していない場合は、geo_slag を展開して emitter_slag_smoke1 を選択し、アウトライナ(Outliner)から流体エミッタ オブジェクトにアクセスします。

2. 基本 エミッタ アトリビュート(Basic Emitter Attributes)セクションで、次の操作を行います。
   - 距離の使用(Use Distance)をオンにします。
   - 最小距離(Min Distance)を 0.06 に設定します。
   - 最大距離(Max Distance)を 0.44 に設定します。

   これにより、流体がメッシュ サーフェスから放出される最小距離と最大距離が定義されます。

3. 流体アトリビュート(Fluid Attributes)セクションで、流体コンテナ内の密度(Density)と熱(Heat)の放出レートを次のように設定します。
   - 密度/ボクセル/秒(Density/Voxel/Sec): 0.28
   - 熱/ボクセル/秒(Heat/Voxel/Sec): 0.4
4. 流体放出の乱気流(Fluid Emission Turbulence)セクションで、乱気流(Turbulence)を 6.3 に設定します。

   これにより、密度(Density)と熱(Heat)がコンテナに放出されるときに乱気流が加わり、流体に付加的な動作が生成されます。

5. シミュレーションを巻き戻して再生します。

   これで流体放出の密度は低くなりましたが、流体に動きがないことに注目してください。次のセクションでは、fluidShape ノード アトリビュートを設定して、煙にディテールと動きを追加します。

## fluidShape ノード アトリビュートを設定する

次に、浮力(Buoyancy)と損失(Dissipation)アトリビュートを調整し、放出後の流体コンテナ内の密度(Density)と熱(Heat)の動作を定義します。

fluidShape ノード アトリビュートを設定するには

1. アトリビュート エディタ(Attribute Editor)で、fluid_slag_smokeShape タブをクリックします。
2. コンテンツの方法(Contents Method)セクションで、温度(Temperature)をダイナミック グリッド(Dynamic Grid)に設定します。
3. コンテンツの詳細(Contents Details)セクションで、密度(Density)をクリックして次のように設定します。
   - 浮力(Buoyancy): 0.31

     コンテナ内での密度(Density)の上昇しやすさを定義します。これは大気中で空気より軽いガスが上昇するのと同じです。浮力(Buoyancy)を小さくすると、流体が上昇してサイズが大きくなるのを避けられます。

   - 損失(Dissipation): 3.0

     蒸発と同じように密度(Density)がコンテナからどのくらいすばやく削除されるかを定義します。損失(Dissipation)を大きくするほど、密度(Density)は大気中にすばやく消えます。

4. 温度(Temperature)セクションで、次のように設定します。
   - 温度スケール(Temperature Scale): 0.5
   - 浮力(Buoyancy): 30.0
   - 損失(Dissipation): 3.0
   - 拡散(Diffusion): 0.0
   - 乱気流(Turbulence): 10

     これらのアトリビュートを設定すると、コンテナ内の熱(Heat)に動きが加わりますが、密度(Density)には影響しません。

5. シミュレーションを巻き戻して再生します。

   シーン内の流体はより微妙な動きになったように見えますが、密度(Density)と温度(Temperature)のアトリビュート調整が動作に与える影響を確認するは困難です。流体のシェーディング(Shading)アトリビュートを設定して流体にカラー設定する前に、流体解像度を上げておくと、流体の動作が見やすくなります。ただし、流体解像度を上げると、シミュレーション時間は長くなります。

6. コンテナのプロパティ(Container Properties)セクションで、ベース解像度(Base Resolution)を 30 に設定します。
7. シミュレーションを巻き戻して再生します。

   これで流体の動作はかなり評価しやすくなりました。